<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Make Controller Kit - Firmware API: Controller</title>
<link href="mt_doxygen.css" rel="stylesheet" type="text/css" />
<link href="../resources/mt_doxytabs.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.header {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12pt;
	color: #222222;
}
-->
</style>
</head>

<body>
<table width="800" border="0">
    <tr>
      <td colspan="3">
        <form method="get" action="http://www.google.com/search">
          <div align="right">
            <input type="text"   name="q" size="25"
              maxlength="255" value="" />
            <input type="submit" value="Search" />
            <input type="hidden" name="sitesearch" value="makingthings.com/ref/firmware/html" />
          </div>
        </form>
       </td>
    </tr>
    <tr>
      <td><div align="center"><a href="http://www.makingthings.com">
				<img src="../resources/logo_brown_medium.png" alt="MakingThings"
									width="200" height="78" border="0" align="middle" longdesc="http://www.makingthings.com" /></a></div></td>
				<td><div align="center" class="header">
      		Make Controller Kit <br />
          Firmware API
      </div></td>
      <td><div align="center"><a href="http://www.makezine.com">
					<img src="../resources/make_logo.png" alt="MAKE Zine" 
										width="164" height="73" border="0" align="middle" longdesc="http://www.makezine.com" /></a></div></td>
    </tr>
</table>
</body>
</html>
<!-- Generated by Doxygen 1.5.4 -->
<script type="text/javascript">
<!--
function changeDisplayState (e){
  var num=this.id.replace(/[^[0-9]/g,'');
  var button=this.firstChild;
  var sectionDiv=document.getElementById('dynsection'+num);
  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
    sectionDiv.style.display='block';
    button.src='open.gif';
  }else{
    sectionDiv.style.display='none';
    button.src='closed.gif';
  }
}
function initDynSections(){
  var divs=document.getElementsByTagName('div');
  var sectionCounter=1;
  for(var i=0;i<divs.length-1;i++){
    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
      var header=divs[i];
      var section=divs[i+1];
      var button=header.firstChild;
      if (button!='IMG'){
        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
        button=document.createElement('img');
        divs[i].insertBefore(button,divs[i].firstChild);
      }
      header.style.cursor='pointer';
      header.onclick=changeDisplayState;
      header.id='dynheader'+sectionCounter;
      button.src='closed.gif';
      section.id='dynsection'+sectionCounter;
      section.style.display='none';
      section.style.marginLeft='14px';
      sectionCounter++;
    }
  }
}
window.onload = initDynSections;
-->
</script>
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>Controller</h1>Functions available to the Make Controller Board.  
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___analog_in.html">Analog Inputs</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The AnalogIn subsystem converts 0-3.3V signals to 10-bit digital values. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___can.html">Can</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The CAN (Controller Area Network) subsystem allows for fast and reliable board-to-board communication. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___debug.html">Debug</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Debug subsystem offers a simple way to send debug messages back from the MAKE Controller via OSC. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___eeprom.html">Eeprom</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Eeprom allows for the persistent storage of 32k bytes data. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___error.html">Error Return Codes</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Error return values for Make Controller API calls. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___fast_timer.html">Fast Timer</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The FastTimer subsystem provides a high resolution timer in a microsecond context. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___io.html">Io</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mechanism to manage the 64 parallel IO lines on the controller. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___led.html">Led</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">LED This whole thing needs to run on timers and events so that the LED can be asked to flash at various times. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___sockets.html">Sockets</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Sockets system provides a simple interface for creating, reading and writing over both TCP and UDP. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___network.html">Network</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Network subsystem manages the Ethernet controller. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_s_c_a_p_i.html">OSC API</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make use of the OSC infrastructure for your own subsystems. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___poly.html">Poly</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Poly subsystem controls onboard pre-baked functions. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___pwm.html">Pwm</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Pwm subsystem provides control of the 4 PWM outputs on the SAM7X. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html">RTOS</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The RTOS subsystem provides a real-time operating system (RTOS) for the MAKE Controller. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__serial.html">Serial</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serial provides a way to send and receive data via the serial port. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___spi.html">Spi</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The SPI subsystem allows the MAKE Controller to communicate with peripheral devices via SPI. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___system.html">System</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The System subsystem monitors and controls several aspects of the system. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___timer.html">Timer</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Timer subsystem provides a timer in a millisecond timeframe. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___u_s_b.html">USB</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The USB subsystem provides access to USB Virtual Serial Port (CDC) functionality. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__webclient.html">Web Client</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A very simple web client for HTTP operations. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__webserver.html">Web Server</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Very simple Web Server. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_bee.html">XBee</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Communicate with XBee (Zigbee) wireless modules via the Make Controller's serial port. <br></td></tr>

<p>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Functions available to the Make Controller Board. 
<p>
The <b>Controller</b> module provides an API to devices that are all included on the Make Controller, no matter what interface electronics are used around it. The <a class="el" href="group___app_board.html">AppBoard</a> module extends the Controller module to include the devices found on the Make Application Board. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Make Controller Kit</title>
<style type="text/css">
<!--
.footer {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 9pt;
	color: #999999;
}
-->
</style>
</head>

<body>
<hr size="1">
<div>
  <p class="footer">The Make Controller Kit is an open source project maintained by <a href="http://www.makingthings.com">MakingThings</a>.<br />
    MakingThings code is released under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache 2.0 license</a>.<br />
    Bug tracker, development wiki and status can be found at <a href="http://dev.makingthings.com">http://dev.makingthings.com</a>.<br />
		This document was last updated on 5 Dec 2007.
</p>
</div>
<!-- Google Analytics Code -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-769030-1";
urchinTracker();
</script>
</body>
</html>
